package com.augurit.common.workdayholiday.service;

import java.util.List;
import java.util.Map;

import com.augurit.common.base.service.ICrudService;
import com.augurit.common.workdayholiday.model.Time;
import com.augurit.common.workdayholiday.model.TimeSpan;
import com.augurit.common.workdayholiday.web.form.WhRegularWorkTimeForm;

public interface IWhRegularWorkTimeService extends ICrudService<WhRegularWorkTimeForm, Long> {
	/**
	 * 清空原来的所有常规工作时间
	 */
	public void clear();
	
	/**
	 * 获取常规工作日数组，星期日-->1, 星期一-->2 以此类推
	 * @return
	 */
	public List<String> getRegularWorkdays();
	
	/**
	 * 计算一周中某一天的工作时长(即多少个小时，多少分钟)
	 * @param dayOfWeek
	 * @return
	 */
	public TimeSpan getWorkTimeSpan(int dayOfWeek);
	
	/**
	 * 获取一周中某一天的上午工作起始时间
	 * @param dayOfWeek
	 * @return
	 */
	public Time getAmStartTime(int dayOfWeek);
	
	/**
	 * 获取一周中某一天的上午工作结束时间
	 * @param dayOfWeek
	 * @return
	 */
	public Time getAmEndTime(int dayOfWeek);
	/**
	 * 获取一周中某一天的下午工作起始时间
	 * @param dayOfWeek
	 * @return
	 */
	public Time getPmStartTime(int dayOfWeek);
	/**
	 * 获取一周中某一天的下午午工作结束时间
	 * @param dayOfWeek
	 * @return
	 */
	public Time getPmEndTime(int dayOfWeek);
	
	/**
	 * 计算一周中每天的常规工作时长
	 * @return  
	 */
	public Map<Integer, TimeSpan> getReguarWorkTimeSpan();
	 
}